<?php

require("Base.php");

class class_Pedidos extends class_Base
{
  function __construct() {
    parent::__construct();
  }


  public function method_leer_pedido($params, $error) {
	$resultado = array();
	
	$sql="SELECT pedido.*, fabrica.descrip AS fabrica FROM pedido INNER JOIN fabrica USING(id_fabrica) ORDER BY fecha DESC";
	$rsPedido = mysql_query($sql);
	while ($regPedido = mysql_fetch_object($rsPedido)) {
		$regPedido->transmitido = (bool) $regPedido->transmitido;
		$regPedido->detalle = array();
		$sql="SELECT pedido_detalle.id_pedido_detalle, producto_item.id_producto_item, producto_item.id_unidad, producto_item.precio_lista, fabrica.descrip AS fabrica, producto.descrip AS producto, producto.iva, producto_item.capacidad, color.descrip AS color, unidad.descrip AS unidad, pedido_detalle.cantidad";
		$sql.=" FROM (((((pedido_detalle INNER JOIN producto_item USING (id_producto_item)) INNER JOIN producto USING(id_producto)) INNER JOIN fabrica USING(id_fabrica)) INNER JOIN color USING (id_color)) INNER JOIN unidad USING (id_unidad))";
		$sql.=" WHERE pedido_detalle.id_pedido='" . $regPedido->id_pedido . "'";
		$rsDetalle = mysql_query($sql);
		while ($regDetalle = mysql_fetch_object($rsDetalle)) {
			$regDetalle->capacidad = (float) $regDetalle->capacidad;
			$regDetalle->precio_lista = (float) $regDetalle->precio_lista;
			$regDetalle->plmasiva = $regDetalle->precio_lista + ($regDetalle->precio_lista * (float) $regDetalle->iva / 100);
			$regDetalle->cantidad = (float) $regDetalle->cantidad;
			$regPedido->detalle[] = $regDetalle;
		}
		$resultado[] = $regPedido;
	}
	return $resultado;
  }
  
  
  public function method_alta_pedido($params, $error) {
  	$p = $params[0];
	mysql_query("START TRANSACTION");
	
	$sql = "INSERT pedido SET id_fabrica='" . $p->id_fabrica . "', fecha = NOW(), transmitido = FALSE";
	mysql_query($sql);
	$id = mysql_insert_id();
	
	foreach ($p->detalle as $item) {
		$sql = "INSERT pedido_detalle SET id_pedido='" . $id . "', id_producto_item='" . $item->id_producto_item . "', cantidad = '" . $item->cantidad . "'";
		mysql_query($sql);
	}
	
	if (mysql_errno()) {
		return mysql_error();
		mysql_query("ROLLBACK");
	} else {
		mysql_query("COMMIT");
		
		return $this->method_leer_pedido($params, $error);
	}
  }
}

?>